
/*
 * @Description: 角色信息 - 模型
 * @Author: DHL
 * @Date: 2022-03-30 13:50:53
 * @LastEditors: DHL
 * @LastEditTime: 2022-08-03 15:59:13
 */

import { BaseModel, PageParams, Params, Result, ResultPage } from '/@/model/baseModel'

/**
 * 角色信息对象
 */
export interface RoleModel extends BaseModel {

  /** 编号 */
  id: string

  /** 租户ID */
  tenantId: string

  /** 机构编码 */
  orgId: string

  /** 角色名称 */
  name: string

  /** 角色类型[ROLE_TYPE](1-超级管理员，2-系统管理员，3-管理员，4-经办人员) */
  roleType: string

  /** 角色状态(0:无效；1：有效) */
  status: string

  /** 角色图标 */
  iconCls: string

  /** 顺序 */
  roleSeq: number

  /** 角色描述 */
  description: string

  // 数据权限类型（1：全部数据；2：本部门及以下数据；3：本部门数据；4：仅本人数据；5：自定义数据）
  dataScopeType?: string

  // 自定义数据权限，使用该字段传递部门ID集合
  dataScopeIds?: Array<string>
}

export interface RoleDataScopeModel {

  /** 编号 */
  id: string

  // 数据权限类型（1：全部数据；2：本部门及以下数据；3：本部门数据；4：仅本人数据；5：自定义数据）
  dataScopeType?: string

  // 自定义数据权限，使用该字段传递部门ID集合
  dataScopeIds?: Array<string>
}

//////////////////////////////////////////////////
// 参数
//////////////////////////////////////////////////

/**
 * 查询参数
 */
export interface RoleParams extends Params {
  /**
   * 关键字模糊查询
   */
  queryLikeStr?: string
}

/**
 * 分页查询参数
 */
export interface RolePageParams extends RoleParams, PageParams { }

//////////////////////////////////////////////////
// 返回结果
//////////////////////////////////////////////////

/**
 * 分页查询返回结果
 */
export type RolePageResultModel = ResultPage<RoleModel>

/**
 * 不分页查询返回结果
 */
export type RoleListResultModel = Result<Array<RoleModel>>


/**
 * 详情查询返回结果
 */
export type RoleResultModel = Result<RoleModel>
